﻿using Mes.Domain.BoundedContext;
using Mes.Application.DTO.Inputs.MasterData;
using Mes.Application.DTO.Results.MasterData;

namespace Mes.Application.Services.MasterData
{
    public interface IMaterialClassService
    {
        /// <summary>
        /// 新增物料类
        /// </summary>
        /// <param name="AddMaterialClassInput"></param>
        /// <returns></returns>
        Task AddMaterialClassAsync(AddMaterialClassInput input);

        /// <summary>
        /// 编辑物料类
        /// </summary>
        /// <param name="UpdateMaterialClassInput"></param>
        /// <returns></returns>
        Task UpdateMaterialClassAsync(UpdateMaterialClassInput input);

        /// <summary>
        /// 删除物料类
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task DeleteMaterialClassesAsync(IList<int> ids);

        /// <summary>
        /// 查询物料类
        /// </summary>
        /// <param name="input"></param>
        /// <returns>PagedItemsData<MaterialClassResult></returns>
        Task<PagedItemsData<MaterialClassResult>> GetMaterialClassesAsync(GetMaterialClassesInput input);
    }
}
